/**
 * Copyright (c) 2022 Beijing Jiaotong University
 * PhotLab is licensed under [Open Source License].
 * You can use this software according to the terms and conditions of the [Open Source License].
 * You may obtain a copy of [Open Source License] at: [https://open.source.license/]
 *
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 *
 * See the [Open Source License] for more details.
 *
 * Author: Zhenjie Wei
 * Created: Mar. 13, 2023
 * Supported by: National Key Research and Development Program of China
 */

import { Disposable } from "@/common/disposable"
import { projectService as projectAPI } from "./client"

export const projectManager = new class ProjectManager extends Disposable {
    constructor() {
        super()
        return
    }

    public async newProject(path: string, name: string, type: any) {
        const config = await projectAPI.newProject(path, name, type)
        return config
    }

    public async openProject(path: string) {
        const config = await projectAPI.openProject(path)
        return config
    }

    public async refreshProject(name: string) {
        const config = await projectAPI.refreshProject(name)
        return config
    }

    public async closeProject(name: string, config: any) {
        await projectAPI.closeProject(name, config)
    }

    public activate() {
        return
    }
}